#include "../inc/container.h"

// Container 构造函数，初始化容器
Container::Container(UI_Object* parent)
{
  // 设置父对象
  this->parent = parent;

  // 创建一个 LVGL 对象作为容器的 UI 元素，并将其父对象设置为传入的 parent
  this_object = lv_obj_create(parent->get_lv_obj_t());

  // 禁用滚动功能
  // lv_obj_set_flex_flow(this_object, LV_FLEX_FLOW_COLUMN);
  // lv_obj_set_flex_align(this_object, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER);
  lv_obj_clear_flag(this_object, LV_OBJ_FLAG_SCROLLABLE);

  // 设置容器的背景颜色为主题定义的灰色（THEME_COLOR_GRAY_5）
  lv_obj_set_style_bg_color(this_object, lv_color_hex(THEME_COLOR_GRAY_5), LV_PART_MAIN | LV_STATE_DEFAULT);

  // 设置背景不透明度为完全不透明
  lv_obj_set_style_bg_opa(this_object, 255, LV_PART_MAIN | LV_STATE_DEFAULT);

  // 设置边框宽度为 0
  lv_obj_set_style_border_width(this_object, 0, LV_PART_MAIN | LV_STATE_DEFAULT);

  // 设置圆角半径为 10
  lv_obj_set_style_radius(this_object, 10, LV_PART_MAIN | LV_STATE_DEFAULT);
}

// Container 析构函数
Container::~Container()
{
  // 析构函数内容为空
}